/***** Lobxxx Translate Finished ******/
/*
 * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
 * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */
/*
 * Copyright 1999-2004 The Apache Software Foundation.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * <p>
 *  版权所有1999-2004 Apache软件基金会。
 * 
 *  根据Apache许可证2.0版("许可证")授权;您不能使用此文件,除非符合许可证。您可以通过获取许可证的副本
 * 
 *  http://www.apache.org/licenses/LICENSE-2.0
 * 
 *  除非适用法律要求或书面同意,否则根据许可证分发的软件按"原样"分发,不附带任何明示或暗示的担保或条件。请参阅管理许可证下的权限和限制的特定语言的许可证。
 * 
 */
/*
 * $Id: ExtensionsProvider.java,v 1.1.2.1 2005/08/01 01:30:08 jeffsuttor Exp $
 * <p>
 *  $ Id：ExtensionsProvider.java,v 1.1.2.1 2005/08/01 01:30:08 jeffsuttor Exp $
 * 
 */
package com.sun.org.apache.xpath.internal;

import java.util.Vector;

import com.sun.org.apache.xpath.internal.functions.FuncExtFunction;

/**
 * Interface that XPath objects can call to obtain access to an
 * ExtensionsTable.
 *
 * <p>
 *  XPath对象可以调用以获取对ExtensionsTable的访问的接口。
 * 
 */
public interface ExtensionsProvider
{
  /**
   * Is the extension function available?
   * <p>
   *  扩展功能是否可用?
   * 
   */

  public boolean functionAvailable(String ns, String funcName)
          throws javax.xml.transform.TransformerException;

  /**
   * Is the extension element available?
   * <p>
   *  扩展元素是否可用?
   * 
   */
  public boolean elementAvailable(String ns, String elemName)
          throws javax.xml.transform.TransformerException;

  /**
   * Execute the extension function.
   * <p>
   *  执行扩展功能。
   * 
   */
  public Object extFunction(String ns, String funcName,
                            Vector argVec, Object methodKey)
            throws javax.xml.transform.TransformerException;

  /**
   * Execute the extension function.
   * <p>
   *  执行扩展功能。
   */
  public Object extFunction(FuncExtFunction extFunction,
                            Vector argVec)
            throws javax.xml.transform.TransformerException;
}
